Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

731
Visualizações
Python APScheduler falla: error "Solo se admiten las zonas horarias de la biblioteca pytz"

Estoy tratando de ejecutar una aplicación asíncrona de python con un trabajo programado de asyncioscheduler, pero APScheduler falla durante la compilación debido a este error:

Error "Solo se admiten las zonas horarias de la biblioteca pytz"

Incluyo pytz en mi aplicación y estoy pasando la zona horaria. ¿Qué está causando el error?

Estoy llamando al asyncioscheduler en una clase donde creo un administrador de trabajos:

 from apscheduler.schedulers.asyncio import AsyncIOScheduler class ScheduleManager: def __init__(self) -> None: self.scheduler = AsyncIOScheduler() def start(self): self.scheduler.start() def stop(self): self.scheduler.shutdown() def add_seconds_interval_job(self, callback, interval : int): self.scheduler.add_job(callback, 'interval', seconds = interval) def add_minutes_interval_job(self, callback, interval : int): self.scheduler.add_job(callback, 'interval', minutes = interval) def add_hours_interval_job(self, callback, interval : int): self.scheduler.add_job(callback, 'interval', hours = interval) def add_days_interval_job(self, callback, interval : int): self.scheduler.add_job(callback, 'interval', days = interval)

luego llamo a este administrador desde mi aplicación como:

 from jobs import ScheduleManager, ConfigJob class AppInitializer: def __init__(self) -> None: self.schedule_manager = ScheduleManager() self.config__job = ConfigJob() async def initialize(self, app, loop): self.schedule_manager.add_seconds_interval_job(self.config_job.run, 5) self.schedule_manager.start()
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Ok, requería una dependencia tzlocal==2.1 para que pudiera obtener la zona horaria local, supongo que por alguna razón la versión que tiene el módulo no funciona en mi sistema

over 4 years ago · Santiago Trujillo Relatório

0

La biblioteca tzlocal cambió de pytz a zoneinfo timezones en 3.0 y APScheduler 3.x no es compatible con ellos. Debido a esto, APScheduler 3.7.0 tiene tzlocal anclado a v2.x. Si está instalando tzlocal 3.0 a través de APScheduler, está usando una versión anterior. Actualice.

over 4 years ago · Santiago Trujillo Relatório

0

Me tropecé con esto también. Y ahora hay una nueva versión de tzlocal (4.1) que en realidad no es compatible con apscheduler 3.x que no se maneja en la fijación: apscheduler 3.8.1 requires tzlocal!=3.*,>=2.0 Esto rompe las cosas si tiene tzlocal==4.1 instalado. tzlocal ahora manualmente en mis requisitos.yml:

tzlocal<3.0 o más específico tzlocal==2.1

Actualización: los documentos de apscheduler indican que este problema se solucionó con 3.8.1 y con 3.9.0 ya no aplican las zonas horarias de pytz. Después de algunas pruebas con diferentes versiones, sigo teniendo los mismos errores con Python 3.10.2, apscheduler 3.8.1/3.9.0 y tzlocal 4.0/4.1. Me veo obligado a usar tzlocal<3.0.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda